home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / COMMUNIC / 0576.ZIP / CLKI8.410 < prev    next >
Text File  |  1986-06-16  |  2KB  |  37 lines

  1. {---------------------------------------------------------------}
  2. {             C L O C K _ I 8    Clock Interrupt Service        }
  3. {---------------------------------------------------------------}
  4. (* CLOCK_I8.INL *)
  5. (*  Fm: Neil J. Rubenking [72267,1531]
  6.      On each call to INT 8, this routine checks if the timer is
  7.      "running".  If it is, it checks if the activation time has
  8.      been reached.  If it has, the STATUS byte is set to include
  9.      the "HotKey_On" and "From_Timer" bits.  After that, control
  10.      passes on to the STAYI8.OBJ code *)
  11.  
  12.   (*NJR*)
  13.   INLINE(
  14.   $9C/                           {PUSHF}
  15.   $2E/$F6/$06/>Status/<Timer_On/ {TEST BY CS:status, timer_on}
  16.   $74/$29/                       {JZ nothing}
  17.   $50/                           {PUSH AX}
  18.   $1E/                           {PUSH DS}
  19.   $B8/$40/$00/                   {MOV AX,40h}
  20.   $8E/$D8/                       {MOV DS,AX}
  21.   $A1/$6E/$00/                   {MOV AX,[6E]}
  22.   $2E/$39/$06/>timer_hi/         {CMP CS:timer_hi,AX}
  23.   $75/$16/                       {JNZ not_yet}
  24.   $A1/$6C/$00/                   {MOV AX,[6C]}
  25.   $2E/$39/$06/>timer_Lo/         {CMP CS:timer_Lo,AX}
  26.   $7D/$0C/                       {JGE Not_Yet}
  27.   $2E/$80/$0E/>Status/<HotKey_On/  {OR BY CS:status, hotkey_on}
  28.   $2E/$80/$0E/>Status/<from_Timer/ {OR BY CS:status, from_timer}
  29.  
  30. {Not_Yet}
  31.   $1F/                           {POP DS}
  32.   $58/                           {POP AX}
  33. {nothing}
  34.   $9D);                          {POPF}
  35.   (*NJR*)
  36. {-------------------- E n d  C l o c k _ I 8 ------------------------}
  37.